package com.supermarket.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.supermarket.business.domain.SupermarketSalesDetail;
import com.supermarket.business.vo.SupermarketSalesDetailVO;

import java.util.List;

/**
 * 销售明细Service接口
 * 
 * @author ruoyi
 * @date 2025-07-21
 */
public interface ISupermarketSalesDetailService extends IService<SupermarketSalesDetail>
{
    /**
     * 查询销售明细
     * 
     * @param detailId 销售明细主键
     * @return 销售明细
     */
    public SupermarketSalesDetail selectSysSalesDetailByDetailId(Long detailId);

    /**
     * 查询销售明细列表
     * 
     * @param supermarketSalesDetail 销售明细
     * @return 销售明细集合
     */
    public List<SupermarketSalesDetail> selectSysSalesDetailList(SupermarketSalesDetail supermarketSalesDetail);

    /**
     * 新增销售明细
     * 
     * @param supermarketSalesDetail 销售明细
     * @return 结果
     */
    public int insertSysSalesDetail(SupermarketSalesDetail supermarketSalesDetail);

    /**
     * 修改销售明细
     * 
     * @param supermarketSalesDetail 销售明细
     * @return 结果
     */
    public int updateSysSalesDetail(SupermarketSalesDetail supermarketSalesDetail);

    /**
     * 批量删除销售明细
     * 
     * @param detailIds 需要删除的销售明细主键集合
     * @return 结果
     */
    public int deleteSysSalesDetailByDetailIds(Long[] detailIds);

    /**
     * 删除销售明细信息
     * 
     * @param detailId 销售明细主键
     * @return 结果
     */
    public int deleteSysSalesDetailByDetailId(Long detailId);

    /**
     * 获取销售明细VO列表
     * @param supermarketSalesDetail
     * @return
     */
    List<SupermarketSalesDetailVO> selectSysSalesDetailListVO(SupermarketSalesDetail supermarketSalesDetail);

    /**
     * 获取销售明细VO
     * @param detailId
     * @return
     */
    SupermarketSalesDetailVO selectSysSalesDetailVOByDetailId(Long detailId);
}
